The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for providing first-in-first-out buffer affinity for multiple port circuits.
Communications bridges, switches and routers used in computer networks use first-in-first-out buffers (FIFOs) to hold data packets in route to their next destination. Input/output (IO) adapters use FIFOs as a first hop from the network before data are placed into system memory. Typically at least one FIFO structure is used per network connection.
FIFOs are used commonly in electronic circuits for buffering and flow control from hardware to software. In hardware form a FIFO primarily consists of a set of read and write pointers, storage, and control logic. Storage may be dynamic random access memory (DRAM), flip-flops, latches, or any other suitable form of storage.
An application-specific integrated circuit (ASIC) is an integrated circuit (IC) customized for a particular use, rather than intended for general-purpose use. An ASIC for use in IO adapters may include a plurality of IO ports and one or more FIFOs to buffer data to be stored in a system memory.